package com.gzhu.knowledgeAdmin.parammanage;


import com.gzhu.knowledgeAdmin.common.dto.param.ParamAddRequest;
import com.gzhu.knowledgeAdmin.common.dto.param.ParamDeleteRequest;
import com.gzhu.knowledgeAdmin.common.dto.param.ParamGetRequest;
import org.springframework.data.domain.Page;

import java.util.List;

/**
 * 参数管理的规范接口
 */
public interface ParamCRUD<T> {

    /**
     * 返回只有值的list,除去了id等信息,eg:["开场白","正文"]
     * @return
     */
    List<String> getSimpleList();

    /**
     * 获取参数列表详细信息(管理员调用,返回值中由id,name)
     * @param paramGetRequest
     * @return
     */
    Page<T> getList(ParamGetRequest paramGetRequest);

    /**
     * 添加参数
     * @param paramAddRequest
     * @return
     */
    void addParam(ParamAddRequest paramAddRequest);

    /**
     * 删除对应ids的值
     * @param paramDeleteRequest
     */
    void deleteParam(ParamDeleteRequest paramDeleteRequest);


}
